package com.template.improve.self;

public abstract class Cooking {
    final void producer(){
        prepareIngredient();
        if(isAddOil()){
            addOil();
        }
        fry();
        distribute();
    }

    /**
     * 第一步：准备食材
     */
    public void prepareIngredient(){
        System.out.println("准备食材");
    }

    /**
     * 第二步加油
     */
    public abstract void addOil();

    /**
     * 第三步
     */
    public void fry(){
        System.out.println("烹饪食物");
    }

    public void distribute(){
        System.out.println("分装食物");
    }

    boolean isAddOil(){
        return true;
    }
}
